/*
 * Copyright 2011 Focus Technology, Co., Ltd. All rights reserved.
 */
package com.tfc.analysis.process;

import java.util.HashSet;
import java.util.Map;
import java.util.Set;

import com.tfc.analysis.fragment.AbstractFragment;

/**
 * 对文本中的关键词进行提取。主要根据关键词对文本中的关键词进行提取！
 * 
 * @author taofucheng
 */
@SuppressWarnings({ "rawtypes", "unchecked" })
public class WordFinder extends BaseFinderProcess {
	/**
	 * 将文本中的关键词提取出来。
	 * 
	 * @param wordsTree
	 *            关键词库树
	 * @param text
	 *            待处理的文本
	 * @return 返回提取的关键词或null
	 */
	public Set<String> process(Map<String, Map> wordsTree, String text, AbstractFragment fragment, int minLen) {
		Map<StringBuilder, Set<String>> ret = (Map<StringBuilder, Set<String>>) super.process(wordsTree, text, fragment, minLen);
		if (ret == null || ret.isEmpty()) {
			return new HashSet<String>();
		} else {
			return ret.values().iterator().next();
		}
	}
}
